﻿Public Class frmPlatillos
    Dim rs As ADODB.Recordset 'CREA UN OBJETO RS DE TIPO ADO PARA LA CONECCION
    Dim sql As String 'CREAMOS UN VALOR SQL DE TIPO CADENA PARA LOS DIFERENTES PROCESOS DE DATOS DE LA CONECCION DE LA BD (INSERTAR, SELECIONAR)
    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        Me.Visible = False 'PERMITE QUE EL FORMULARIO NOSE MUESTRE
        fORMULARIO_Restaurante.Visible = True 'PERMITE QUE LE FORMULARIO SE MUESTRE

    End Sub

    Private Sub frmPlatillos_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        listaPlatos.Items.Clear() 'PERMITE LIMPIAR LA LISTA DE PLATOS(LISTBOX)
        conectar() ''PERMITE INICIALIZAR LA CONECCION
        sql = "SELECT DESCRIPCION FROM  TIPO_PLATO" 'PERMITE SELECCIONAR EL CAMPO DESCRIPCION DE LA TABLA TIPO_PLATO
        rs = coneccion.Execute(sql) 'PERMITE EJECUTAR LA CONECCION
        While rs.EOF <> True 'RS.EOF NOS RETORNA UN VALOR BOOLEANO DE TIPO FALSE ESTO SE MANTENDRA SIEMPRE EN CUANDO EXISTA LOS DATOS CONSULTADOS
            If rs.EOF = True Then ' SI  EL BOOLEAN ES VERDADERO ESTE SALDRA DEL BUCLE 
                Exit While
            End If
            cmbTipoPlato.Items.Add(rs.Fields(0).Value) 'AGREGA LOS TIPOS_PLATO SEGUN LA COLUMNA 0 DE LA TABLA TIPO_PLATO
            rs.MoveNext() 'PERMITE PASAR A LA SIGUIENTE FILA
        End While
        sql = "SELECT DESCRIPCION FROM PLATOS" 'PERMITE SELECCIONAR EL CAMPO DESCRIPCION DE LA TABLA PLATOS
        rs = coneccion.Execute(sql) 'PERMITE EJECUTAR LA CONECCION
        While rs.EOF <> True 'RS.EOF NOS RETORNA UN VALOR BOOLEANO DE TIPO FALSE ESTO SE MANTENDRA SIEMPRE EN CUANDO EXISTA LOS DATOS CONSULTADOS
            If rs.EOF = True Then ' SI  EL BOOLEAN ES VERDADERO ESTE SALDRA DEL BUCLE
                Exit While
            End If
            listaPlatos.Items.Add(rs.Fields(0).Value) 'AGREGA LOS TIPOS_PLATO SEGUN LA COLUMNA 0 DE LA TABLA PLATOS
            rs.MoveNext() 'PERMITE PASAR A LA SIGUIENTE FILA
        End While

    End Sub

    Private Sub cmbTipoPlato_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmbTipoPlato.SelectedIndexChanged
        listaPlatos.Items.Clear()
        sql = "SELECT PLATOS.DESCRIPCION, TIPO_PLATO.DESCRIPCION FROM (PLATOS INNER JOIN TIPO_PLATO ON PLATOS.CODI_TIPO = TIPO_PLATO.CODI_TIPO) WHERE (TIPO_PLATO.DESCRIPCION = '" & cmbTipoPlato.SelectedItem.ToString & "')" 'PERMITE SELECCIONAR LOS CAMPOS REQUERIDOS DELAS TABLAS PLATOS Y TIPO_PLATOS SEGUN EL ELEMENTO DEL COMOBOX SELECCIONADO DE TIPO_PLATOS 
        rs = coneccion.Execute(sql) 'PERMITE EJECUTAR LA CONECCION
        While rs.EOF <> True 'RS.EOF NOS RETORNA UN VALOR BOOLEANO DE TIPO FALSE ESTO SE MANTENDRA SIEMPRE EN CUANDO EXISTA LOS DATOS CONSULTADOS
            If rs.EOF = True Then ' SI  EL BOOLEAN ES VERDADERO ESTE SALDRA DEL BUCLE
                Exit While
            End If
            listaPlatos.Items.Add(rs.Fields(0).Value) 'AGREGA LOS PLATO SEGUN LA COLUMNA 0 DE LA TABLA PLATOS
            rs.MoveNext() 'PERMITE PASAR A LA SIGUIENTE FILA
        End While
    End Sub

    Private Sub listaPlatos_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles listaPlatos.SelectedIndexChanged
        sql = "SELECT DESCRIPCION, COSTO FROM(PLATOS) WHERE (DESCRIPCION = '" & listaPlatos.SelectedItem.ToString & "')"
        rs = coneccion.Execute(sql) 'PERMITE EJECUTAR LA CONECCION
        If rs.EOF <> True Then 'RS.EOF NOS RETORNA UN VALOR BOOLEANO DE TIPO FALSE ESTO SE MANTENDRA SIEMPRE EN CUANDO EXISTA LOS DATOS CONSULTADOS
            rs.MoveFirst() 'NOS PERMITE MOVER EL PRIMER REGISTRO Y LEERLO 
            lblprecio.Text = "S/. " & rs.Fields(1).Value.ToString 'PERMITE OBTENER EL PRECIO DEL PLATO
        End If

    End Sub
End Class